package com.xzmzhp.dao.maintain;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xzmzhp.dao.maintain.sql.LendSql;
import com.xzmzhp.pojo.maintain.Lend;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author: 王源(xm)
 * @create: 2022-04-24 17:18
 * @program: ams
 * @description: 借出记录数据库交互类
 */
@Repository
public interface LendMapper extends BaseMapper<Lend> {

    /**
     * 根据参数查询数据sql
     * @param param 参数
     *        itemId 物品id
     *        itemName 物品名称
     *        stdmodeId  物品类型id
     *        personnelName 借出人名称
     *        borrowerName 借出人名称
     *        lendStatus 借用状态
     *        lendType 借用状态
     *        startTime 开始时间
     *        endTime  结束时间
     * @return 查询数据sql
     */
    @SelectProvider(type = LendSql.class,method = "findLendByParam")
    List<Lend> findLendByParam(Map<String,Object> param);

    /**
     * 根据物品类型类型id修改物品类型状态
     * @param lendId 物品类型id
     * @param status 物品类型状态
     * @return 是否成功
     */
    @Update("update lend set lend_status = #{status} where lend_id = #{LendId}")
    Integer exitStatus(@Param("lendId") Integer lendId, @Param("status")  String status);
}
